package cn.yz.service;


import cn.yz.dto.MenuDto;
import cn.yz.vo.MenuVo;

import java.util.List;

/**
 * 菜单服务接口
 */
public interface MenuService {

    /**
     * 获取用户菜单列表
     */
    List<MenuVo> getUserMenus(String userId);

    /**
     * 获取菜单树
     */
    List<MenuVo> getMenuTree();

    /**
     * 获取去除按钮的菜单树
     */
    List<MenuVo> getMenuTreeNoButton();

    /**
     * 根据ID获取菜单详情
     */
    MenuVo getMenuById(String id);

    /**
     * 创建菜单
     */
    void createMenu(MenuDto menuDto);

    /**
     * 更新菜单
     */
    void updateMenu(String id, MenuDto menuDto);

    /**
     * 删除菜单
     */
    void deleteMenu(String id);

    /**
     * 获取角色菜单列表
     */
    List<MenuVo> getRoleMenus(String roleId);

    /**
     * 分配角色菜单
     */
    void assignRoleMenus(String roleId, List<String> menuIds);
} 